Since the invention of the stereoscope in 1847, inventors have attempted to replicate three dimensional (3D) images found in nature. Two dimensional images lack realism due to the absence of depth queues. Many techniques have been devised for producing 3D images with varying degrees of success.
Stereoscopic photographic cameras are known which utilize a single camera body and two objective lenses separated by a fixed distance, usually corresponding to the interocular distance. Other such cameras use a single objective and external arrangements which form two image areas on film positioned on the camera's image plane. Still other arrangements use two separate cameras separated by a fixed distance to form images corresponding to a left and right eye view of the scene being photographed. Still other arrangements use a single camera moved from one location to another to obtain stereo images.
Another technique for capturing stereophotography is to use a single camera and move the camera from one location to another to obtain stereo images.
Once stereoscopic photographic images of the prior art are developed, they are often viewed through separate eye pieces, one for each eye. Each eye piece projects a view of a respective one of the developed images which the user's eyes would have seen had the eyes viewed the scene directly. Depth is clearly discernable when viewing a stereoscopic image.
There are several problems with prior art techniques for generating three dimensional images. First, the requirement that there be a fixed camera to camera or objective to objective separation limits flexibility in the construction of cameras. The requirement for two objective lenses or two cameras dictates special apparatus in order to capture stereoscopic images.
Another problem with the prior art is that complicated lens arrangements are necessary to view stereoscopic images. Further, in the stereoscopic photographic systems of the prior art, depth was not readily quantifiable.
Calculations of depth is a difficult task when using images captured from different positions vis-a-vis the scene being photographed because the planar relationships which result from projection of a three dimensional scene onto a two dimensional plane do not undergo a linear transformation or mapping compared with the same points projected onto a different image plane. A scene viewed from one point is seen differently from the same scene viewed from another point. As one changes viewing positions, some object portions become hidden as the view point changes. Planes which are viewed normally in one view are reduced in extent when viewed obliquely. The prior art does not allow for rapid and interactive correlation of two images of the same scene captured from different perspectives.
Automated image processing techniques are known for correlating portions of images with known patterns. For example, vertical views (pictures) of a tractor at different rotations may be scaled to reflect a view of the tractor from 1,000 feet above the tractor. These vertical views can then be respectively compared with a picture of farmland with the same tractor on it taken at 1,000 feet by sliding each vertical view, one at a time, over all possible portions of such a picture until alignment occurs. When such an alignment occurs, one may conclude that a tractor is located at the point on the image of the farmland at which the best match occurs and that the tractor has the particular orientation corresponding to the rotation of the vertical view which produces the best correlation.
Image correlation done in this way is a very slow process. Such a process has further drawbacks. The scale and perspective need to be the same in order to assure similarity of appearance between the reference pattern and the pattern sought after during the search for a match. Further, such a process does not use information available to improve search efficiency. Further, the amount of time required to process images, even with fast computers, is so slow that human interaction with the process, either by picking reference views to be compared against the image or by modifying the search on an interactive basis is so long as to be impractical.
Such correlation methods are also relatively inflexible. For example, if someone desired to change the reference image or the search algorithm, or the decision criterion for determining correlation, software would need to be modified and re-coded and the source code would need to be re-compiled before such a change could be implemented. As a result, a user is unable to quickly evaluate results to determine the correctness of a correlation produced by automated means and to modify it interactively to get better results.
In view of the above, it would be desirable to provide a system which can produce three dimensional images without the drawbacks of the prior art.